#!/usr/bin/env node
//几个下标->数组元素字符串
//TODO:
/* 编写 02-calc.js 脚本
获取命令行参数，命令行参数为一个数学表达式
如果没有命令行参数，打印程序的使用说明
如果命令行参数是 --help 或者 -h，打印程序的使用说明
如果命令行参数多于 3 个，多余的参数忽略
对命令行参数的表达式进行求值，打印求值结果
如果命令行参数不是合法的数学表达式（例如：a+b），则打印错误信息
命令行参数的格式如下：

 */


const log = console.log,
      arg = process.argv[2];

if(typeof(arg) === 'undefined' ||
    arg === '--help' ||
    arg === '-h') {
  help();
} else {
  calc();
}

function help() {
  log('使用说明');
}

function calc() {
  try {
    log(`${arg} = ${eval(arg)}`);
  } catch(e) {
    console.error(`${arg} 不是合法的数学表达式！`);
  }
}
//eval()将传入字符串当作js代码执行


